1. Field of the Invention
The present invention relates to a technique for providing online services to users' terminal devices, using data managed by databases.
2. Description of Related Art
With the development of the information society, many companies provide online services, using databases. Examples of such online services include bank ATM systems and road and railroad navigation systems.
Recently, due to intensifying competition among companies, each company has been trying to differentiate themselves by expanding services, extending the amount of service providing time, and even providing online services continuously.
Also, with an increase in the number of terminals using online services, such as the Internet terminals and cell-phones, the amount of access to the online services has been increasing. Therefore, for example, with an online service, such as a road or railroad navigation service, for processing a large quantity of data reference requests from terminals, a database with the same content is placed in a plurality of apparatuses so that the reference requests from the terminals are distributed to and processed by the plurality of apparatuses.
A database management system sometimes executes daily routine tasks collectively by means of batch processing. Examples of such batch processing include processing to regularly update data to which an online service refers to. Since a large quantity of data is accessed in the batch processing, system load tends to increase. Accordingly, the batch processing is often executed at night outside online service hours when the load is comparatively low.
However, companies are providing online services continuously and are required to execute batch processing without stopping the online services. “Rolling upgrade” is an example of a technique of performing maintenance including batch processing without stopping online services where a database with the same content is placed in a plurality of apparatuses (see E. A. Brewer “Lessons from giant-scale services,” Internet Computing, IEEE, Vol. 5, Issue 4, July-August, 2001, P. 54).
Rolling upgrade is performed so that the plurality of apparatuses stop the online service in turns to perform maintenance, thereby executing batch processing without stopping the online service provided by the system as a whole.
However, if the rolling upgrade is performed in order to execute batch processing requiring updates on the database in each apparatus, batch termination time will be different for each apparatus. So, even if the same reference request is executed at each apparatus at the same time, a reference result will be different for each apparatus.
For example, the same database is placed in three apparatuses and the following sequence of procedures is executed in turns in the order of a first apparatus, a second apparatus, and a third apparatus: stopping an online service; executing batch processing requiring updates; and then resuming the online service. If the same reference request is executed on the first and third apparatuses during execution of the batch processing requiring updates on the second apparatus, a reference result after the batch processing will be obtained from the first apparatus and a reference result before the batch processing will be obtained from the third apparatus, that is, the reference results from those apparatuses will be different.